#ifndef HPLC_QINFINE_DETECTOR_PARSEPACKET_H
#define HPLC_QINFINE_DETECTOR_PARSEPACKET_H

#include "common/parsecommonpacket.h"
#include "modulehplcdetectordefine.h"

namespace hplc
{
namespace qinfine
{

class DetectorProtocolData;
class DetectorParsePacket : public hplc::qinfine::ParseCommonPacket
{
    Q_OBJECT
public:
    DetectorParsePacket(DetectorProtocolData &data, DetectorParam &param, QObject *parent = nullptr);
    virtual ~DetectorParsePacket() override;

    virtual void parseSet(quint8 pfc, char *data) override;
    virtual void parseGet(quint8 pfc, char *data) override;

signals:
    void setWave(quint16 wave);
    void setWave2(quint16 wave);
    void setTimeConst(quint8 timeConst);
    void setRange(quint8 range);
    void setLampType(quint8 type);
    void setChannel(quint8 channel);
    void setLamp(quint8 flag);
    void setHome(quint8 isHome);
    void setAuUploadFreq(quint8 freq);
    void setAu(qint32 au, qint32 au2);
    void setWaveRefSam(quint32 ref, quint32 sam);
    void setWave2RefSam(quint32 ref, quint32 sam);
    void setScanAu(quint16 wave, quint32 au);
    void setScanPara(quint16 startWave, quint16 stopWave, quint8 speed);
    void setLampUsedTime(quint32 time);
    void setStartStop(quint8 isStart);
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_DETECTOR_PARSEPACKET_H
